package com.lonely.order.domain.vo.order;

import com.lonely.goods.domain.dto.goods.GoodsQuotationSheetPartDTO;
import com.lonely.goods.domain.vo.goods.GoodsQuotationSheetTotalCastVO;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author: 黄志标
 * @date: 2025/6/25 15:38
 * @description: 订单明细响应实体
 */
@Data
public class OrderDetailVO implements Serializable {

    /**
     * 订单id
     */
    private Long id;

    /**
     * 接单时间
     */
    private Date acceptOrderTime;

    /**
     * 目标交期
     */
    private String deliveryTime;

    /**
     * 设计款号
     */
    private String designCode;

    /**
     * 工厂ID
     */
    private Long factoryId;

    /**
     * 工厂名称
     */
    private String factoryName;

    /**
     * 是否首单
     */
    private Integer isFirst;

    /**
     * 优先级
     */
    private Integer isUrgent;

    /**
     * 生产单价
     */
    private String orderPrice;

    /**
     * 订单类型
     */
    private String orderType;

    /**
     * 订单类型int
     */
    private Integer orderTypeInt;

    /**
     * 图片
     */
    private String pic;

    /**
     * 下单时间
     */
    private String placeOrderTime;

    /**
     * 生产制单号
     */
    private String produceOrderId;

    /**
     * 生产方
     */
    private String producer;

    /**
     * 订单件数
     */
    private Integer quantity;

    /**
     * 参考sku
     */
    private String refSku;

    /**
     * 大货sku
     */
    private String sku;

    /**
     * 订单状态
     */
    private String status;

    /**
     * 订单状态整型
     */
    private Integer statusInt;

    /**
     * 备货类型
     */
    private String stockType;

    /**
     * 备货类型整型
     */
    private String stockTypeInt;

    /**
     * 颜色
     */
    private String color;

    /**
     * 部件数
     */
    private Integer multiPiecesQuantity;

    /**
     * 标签列表
     */
    private List<QueryProduceOrderPageVO.Tag> tags;

    /**
     * 车间分单对应工厂名称
     */
    private String workshopSplitFactoryName;

    /**
     * 尾部分单对应工厂名称
     */
    private String tailSplitFactoryName;

    /**
     * 报价单--部件信息集合
     */
    private List<GoodsQuotationSheetPartDTO> parts = new ArrayList<>();


    /**
     * 成本总计集合
     */
    private List<GoodsQuotationSheetTotalCastVO> totalCasts = new ArrayList<>();

}
